Data communication networks may include various computers, servers, nodes, routers, switches, bridges, hubs, proxies, and other network devices coupled to and configured to pass data to one another. These devices will be referred to herein as “network elements.” Data is communicated through the data communication network by passing protocol data units, such as Internet Protocol packets, Ethernet Frames, data cells, segments, or other logical associations of bits/bytes of data, between the network elements by utilizing one or more communication links between the network elements. A particular protocol data unit may be handled by multiple network elements and cross multiple communication links as it travels between its source and its destination over the network.
The various network elements on the communication network communicate with each other using predefined sets of rules, referred to herein as protocols. Different protocols are used to govern different aspects of the communication, such as how signals should be formed for transmission between network elements, various aspects of what the protocol data units should look like, how protocol data units should be handled or routed through the network by the network elements, and how information such as routing information should be exchanged between the network elements. Ethernet is one such well known networking protocol that has been defined by the Institute of Electrical and Electronics Engineers (IEEE) as standards 802.1 and 802.3.
A routing protocol such as Intermediate System to Intermediate System (IS-IS) may be run on an Ethernet network as described in application Ser. No. 11/537,775, filed Oct. 2, 2006, entitled “Provider Link State Bridging,” the content of which is hereby incorporated herein by reference. In a link state protocol controlled Ethernet network, rather than utilizing a learned network view at each node by using the Spanning Tree Protocol (STP) algorithm combined with transparent bridging, the bridges forming the mesh network exchange link state advertisements to enable each node to have a synchronized view of the network topology. This is achieved via the well understood mechanism of a link state routing system. The bridges in the network have a synchronized view of the network topology, have knowledge of the requisite unicast and multicast connectivity, can compute shortest path connectivity between any pair of bridges in the network, and individually can populate their forwarding databases (FDBs) according to the computed view of the network. When all nodes have computed their role in the synchronized view and populated their FDBs, the network will have a loop-free point-to-multipoint (p2mp) multicast tree from any given bridge to the same set of peer bridges.
Calculating a full set of multicast trees for each node on the routed Ethernet mesh network is a computationally intensive process. Additionally, storing the set of multicast trees requires significant memory resources. These same considerations may exist in other types of routed networks as well, such as in an Internet Protocol (IP) based network. Accordingly, it would be advantageous to provide another way of enabling multicast forwarding state to be determined to enable implementation of multicast on a routed network.